//////////////////////////////////////////////////////////////////////////////
// Product: QF/C++, vanilla port
// Last Updated for Version: 3.4.00
// Date of the Last Update:  Sep 03, 2007
//
//                    Q u a n t u m     L e a P s
//                    ---------------------------
//                    innovating embedded systems
//
// Copyright (C) 2002-2007 Quantum Leaps, LLC. All rights reserved.
//
// This software may be distributed and modified under the terms of the GNU
// General Public License version 2 (GPL) as published by the Free Software
// Foundation and appearing in the file GPL.TXT included in the packaging of
// this file. Please note that GPL Section 2[b] requires that all works based
// on this software must also be made publicly available under the terms of
// the GPL ("Copyleft").
//
// Alternatively, this software may be distributed and modified under the
// terms of Quantum Leaps commercial licenses, which expressly supersede
// the GPL and are specifically designed for licensees interested in
// retaining the proprietary status of their code.
//
// Contact information:
// Quantum Leaps Web site:  http://www.quantum-leaps.com
// e-mail:                  info@quantum-leaps.com
//////////////////////////////////////////////////////////////////////////////
#ifndef qf_port_h
#define qf_port_h

                        // various QF object sizes configuration for this port
#define QF_MAX_ACTIVE               63
#define QF_EVENT_SIZ_SIZE           2
#define QF_EQUEUE_CTR_SIZE          1
#define QF_MPOOL_SIZ_SIZE           2
#define QF_MPOOL_CTR_SIZE           2
#define QF_TIMEEVT_CTR_SIZE         2

                                            // DOS critical section entry/exit
#include <intrin.h>                                                 // DOS API
#undef outportb  // don't use the macro because it has a bug in Turbo C++ 1.01

// QF_INT_KEY_TYPE not defined
#define QF_INT_LOCK(key_)           _disable()
#define QF_INT_UNLOCK(key_)         _enable()

#include "qep_port.h"                                              // QEP port
#include "qequeue.h"                  // Vanilla QF/C++ port needs event-queue
#include "qmpool.h"                   // Vanilla QF/C++ port needs memory-pool
#include "qsched.h"       // Vanilla QF port uses the non-preemptive scheduler
#include "qf.h"                    // QF platform-independent public interface
#include "qpset.h"                   // Vanilla QF/C++ port needs priority-set

#endif                                                            // qf_port_h
